﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIGEB.Modelo.moduloTipoDocumentos
{
    public class valor
    {
        #region "constructores"

        public valor()
        {
        }

        public valor(int tipo, string nombre, string valor)
        {
            if (nombre == null)
            {
                throw new Exception("No se puede ingresar un nuevo valor sin el nombre");
            }
            this.tipo = tipo;
            this.nombre = nombre;
            this.valorCampo = valor;
            condiciones = new LinkedList<condicion>();
        }

        public int validarCondiciones()
        {
            int count = 0;
            foreach (condicion c in condiciones)
            {
                if (!c.valido())
                    return count;
                count++;
            }
            return 0;
        }

        #endregion

        #region "atributos"

        int _codValor;
        int _tipo;
        String _nombre;
        String _valorCampo;

        public int codValor
        {
            set { _codValor = value; }
            get { return _codValor; }
        }
        public int tipo
        {
            set { _tipo = value; }
            get { return _tipo; }
        }
        String nombre
        {
            set { _nombre = value; }
            get { return _nombre; }
        }
        public string valorCampo
        {
            set;
            get;
        }
        LinkedList<condicion> condiciones;

        public static int FECHA = 1;
        public static int NUMERO = 2;
        public static int ALFANUMERICO = 3;

        #endregion
    }
}
